package net.zjitc.stack;

public class Demo {
    public static void main(String[] args) {
        //使用递归计算1+2+3+4+...+10的值(自已调用自己) f(10) = 10 + f(9)
         //                                               =  10 + 9 + f(8)
        //                                                = 10 +9 +8+7+6+5+4+3+2+f(1)  //当x = 1 ,f(1) = 1


        int sum = f(10);
        System.out.println(sum);
    }

    /**
     * 一定要有结束的条件，无限 stackOverflow
     * @param x
     * @return
     */
    public static int f(int x){
       if (x == 1){
            return 1;
        }
        return x + f(x -1);
    }
}
